package com.es.designmode.bridge;

/**
 * 桥接模式
 * 将抽象部分与它的实现部分分离，是他们都可以独立的变化
 * 什么叫抽象与他的实现分离，不是说让抽象类与其派生类分离，实现指的是抽象类和它的派生类用来实现自己的对象
 * <p>
 * 个人理解：像是有一个桥接对象声明要实现的属性，最后在客户端调用时，用桥接对象去调用主方法
 * 实例：手机运行App时都是启动程序，但是App对象不一样，这样就有了面向对象的效果
 *
 * @author Will
 */
public class ClientSide {
    public static void main(String[] args) {

        Abstraction a = new RefinedAbstraction();

        a.setImplementor(new ConcreteImplementorA());
        a.operation();

        a.setImplementor(new ConcreteImplementorB());
        a.operation();
    }
}
